package com.zhuang.jdk8.lambda;

import java.util.function.Function;

public class DemoFunction {
    public static void main(String[] args) {
        getNumber(Integer::parseInt);

        getString((Integer val) -> {
            return String.valueOf(val);
        });
    }

    // 该接口用来根据一个类型的到另一个类型的数据，前者称为前置条件，后者称为后置条件，有参数返回值
    // 将String类型转为Integer类型
    public static void getNumber(Function<String, Integer> function) {
        Integer apply = function.apply("10");
        System.out.println("apply=" + apply);
    }

    // 将Integer类型转为String类型
    public static void getString(Function<Integer, String> function) {
        String apply = function.apply(123);
        System.out.println("apply=" + apply);
    }
}
